
/*
 * @Description: 
 * @Author: rendc
 * @Date: 2025-07-29 16:17:43
 * @LastEditors: rendc
 * @LastEditTime: 2025-07-30 11:16:02
 */
import java.util.Arrays;
import java.util.Scanner;

public class StudentManagement {
  // 存放学生对象的数组
  private Student[] students = new Student[100];
  // 实际学生的个数
  private int counter = 0;
  // 获取用户输入
  Scanner sc = new Scanner(System.in);

  public void print() {
    // 1. 程序启动，输出提示文字，封装成 固定输出的方法
    // System.out.println("********************");
    // System.out.println("****学生管理系统****");
    // System.out.println("*Student Management*");
    System.out.println("********************");
    System.out.println("* 1）add 添加学生  *");
    System.out.println("* 2）del 删除学生  *");
    System.out.println("* 3）udp 更新学生  *");
    System.out.println("* 4）sel 查找学生  *");
    System.out.println("* 0）quit 退出系统 *");
    System.out.println("********************");
    System.out.println("***请输入你的选择***");
    // System.out.println("****Please Input****");

  }

  public void myAddStudent() {
    students[0] = new Student(1, "张三", "男", 18);
    counter++;
  }

  // 新增学生信息
  public void addStudent() {
    // 初始化需要用到的变量
    int id;
    String name;
    String gender;
    int age;
    // 获取用户输入
    System.out.println("***请输入学生id****");
    id = sc.nextInt();
    System.out.println("***请输入学生姓名***");
    name = sc.next();
    System.out.println("***请输入学生性别***");
    gender = sc.next();
    System.out.println("***请输入学生年龄***");
    age = sc.nextInt();
    // 创建学生对象
    Student s = new Student(id, name, gender, age);
    s.show();
    // 将学生对象存放到数组中
    students[counter] = s;
    counter++;
    System.out.println("**学生信息添加成功**");
    System.out.println("***已有学生人数：" + counter + "***");
  }

  // 删除学生信息
  public void delStudent() {
    int index = -1;
    System.out.println("**请输入学生id查找**");
    // System.out.println(Arrays.toString(students));
    int id = sc.nextInt();
    for (int i = 0; i < counter; i++) {
      if (students[i].getId() == id) {
        System.out.println("**学生信息查找成功**");
        students[i].show();
        index = i;
        // 删除
        students[i] = null;
        System.out.println("**学生信息删除成功**");
        System.out.println(Arrays.toString(students));
      }
    }
    if (index == -1) {
      System.out.println("**学生信息查找为空**");
    }
  }

  // 修改学生信息
  public void udpStudent() {
    int index = -1;
    System.out.println("**请输入学生id查找**");
    // System.out.println(Arrays.toString(students));
    int id = sc.nextInt();
    for (int i = 0; i < counter; i++) {
      if (students[i].getId() == id) {
        System.out.println("**学生信息查找成功**");
        // students[i].show();
        index = i;
        // 修改
        // 初始化需要用到的变量
        // int newId; // id不需要修改
        String newName;
        String newGender;
        int newAge;
        // 获取用户输入
        // System.out.println("***请输入学生id****");
        // newId = sc.nextInt();
        System.out.println("***请输入学生姓名***，原姓名：" + students[i].getName());
        newName = sc.next();
        System.out.println("***请输入学生性别***，原性别：" + students[i].getGender());
        newGender = sc.next();
        System.out.println("***请输入学生年龄***，原年龄：" + students[i].getAge());
        newAge = sc.nextInt();
        students[i] = new Student(id, newName, newGender, newAge);
        System.out.println("**学生信息修改成功**");
        // students[i].show();
      }
    }
    if (index == -1) {
      System.out.println("**学生信息查找为空**");
    }
  }

  // 查找学生信息
  public void selStudent() {
    int index = -1;
    System.out.println("**请输入学生id查找**");
    // System.out.println(Arrays.toString(students));
    int id = sc.nextInt();
    for (int i = 0; i < counter; i++) {
      if (students[i].getId() == id) {
        System.out.println("**学生信息查找成功**");
        students[i].show();
        index = i;
      }
    }
    if (index == -1) {
      System.out.println("**学生信息查找为空**");
    }
    // return index;
  }
}